package com.wh.wisdomsite.xbox.zywl.service;

import com.baomidou.mybatisplus.service.IService;
import com.wh.wisdomsite.xbox.common.reponse.CommonResult;
import com.wh.wisdomsite.xbox.pojo.zywl.UseTicketIn;
import com.wh.wisdomsite.xbox.zywl.entity.ZywlUserTicket;

/**
 * 票务信息Service
 * @author 谢泽鹏
 * @version V1.0
 * @Package com.wh.wisdomsite.xbox.vi.dao
 * @date 2018年09月05日 15:53
 * @Copyright 企业版权所有
 * @Company 贵州万华科技有限公司Copyright (c) 2018
 */
public interface IZywlUserTicketService extends IService<ZywlUserTicket> {

    /**
     * 保存或更新
     * @param zywlUserTicket
     * @return
     */
    void saveOrUpdate(ZywlUserTicket zywlUserTicket) throws Exception;


    /**
     * 判断票务是否存在
     * @param userTicketId 票务编号
     * @return
     */
    boolean userTicketIdIsExits(String userTicketId);


    /**
     * 使用票务
     * @param in 票务入参
     * @return
     */
    CommonResult useTicket(UseTicketIn in) throws Exception;

    /**
     * 使用身份证验证
     * @param in
     * @return
     * @throws Exception
     */
    CommonResult useIdCard(UseTicketIn in) throws Exception;


    /**
     * 用户退票
     * @param userTicketId
     * @return
     * @throws Exception
     */
    CommonResult refundTicket(String userTicketId) throws Exception;
}
